package com.etime.shycourse.wx.applets.dao;

import com.etime.shycourse.wx.applets.dto.LessonDto;
import com.etime.shycourse.wx.applets.pojo.Lesson;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author wb
 * @since 2022-01-11
 */
@Repository("WxLessonMapper")
public interface LessonMapper extends BaseMapper<Lesson> {
    /**
     * 微信 支招
     * 2022-02-11 11:06:16
     * <p>
     * 1、根据课程id 获取课时详情 + 是否购买
     * <p>
     * 2、利用外连接 判定是否 有购买其订单中包含其课时 给字段标识
     *
     * @param chapterId 章节id
     * @param userId    用户id
     * @return List<Chapter>
     */
    List<Lesson> selectLists(Integer chapterId, Integer userId);

    /**
     * 微信 支招
     * 2022-02-11 11:06:16
     * <p>
     * 附加了返回所有定单 信息
     * 1、根据课程id 获取课时详情 + 是否购买
     * <p>
     * 2、利用外连接 判定是否 有购买其订单中包含其课时 给字段标识
     *
     * @param CourseId 课程id
     * @param userId   用户id
     * @return List<Chapter>
     */
    List<LessonDto> selectListsByCourseId(Integer CourseId, Integer userId);

    /**
     * 微信 支招 课程已经购买了 后台下单
     * <p>
     * 2022-02-11 11:06:16
     * <p>
     * 附加了返回所有定单 信息
     * 1、根据课程id 获取课时详情 + 是否购买
     * <p>
     * 2、利用外连接 判定是否 有购买其订单中包含其课时 给字段标识
     *
     * @param CourseId 课程id
     * @return List<Chapter>
     */
    List<LessonDto> selectListsByCourseIds(Integer CourseId, Integer userId);

    /**
     * 判断用户是否有未完成的订单
     * 订单
     * 根据课程的课时id 进行查询
     * 1--创建
     * 2--完成
     * 3--关闭
     * 4--退款
     */
    List<Integer> iFBuyLessonByOrder();

    /**
     * 根据 课时id查询 到视频文本
     *
     * @param LessonId
     * @return Lesson
     */
    Lesson selectByLessonId(Integer LessonId);
}
